home *** CD-ROM | disk | FTP | other *** search
/ PD Collection CD 1 / PD Collection CD 1.iso / textual / tex / files / !tex / mfinputs / calu / mf
Encoding:
Text File  |  1988-02-26  |  15.3 KB  |  397 lines

  1. % This is CALU.MF in text format, as of Mar 31, 1986.
  2. % Calligraphic capitals with `fixed' pens, by N. N. Billawala (1985).
  3.  
  4. % These letters are intended for math, hence |math_fitting| is assumed.
  5.  
  6. % Character codes \0101 through \0132 are generated.
  7.  
  8. cmchar "Calligraphic A";
  9. beginchar("A",14.4u#,cap_height#,0);
  10. italcorr .5u#;
  11. adjust_fit(-.05w#,0); pickup cal.nib;
  12. lft x5=.54w; x7=.9w;
  13. top y5=h+.4cap_curve; bot y7=bot_flourish_line;
  14. z6=.3[z7,z5]-bend;
  15. pickup tilted.nib;
  16. lft x1=.05w; x2=.2w; rt x4=x5;
  17. y1=y2+.1h; bot y2=bot_flourish_line; top y4=h+.4cap_curve;
  18. y3=y6; z3=whatever[z2,z4]+2bend;
  19. draw\\(z1..tension 1.2..{right}z2) softjoin flex(z2,z3,z4); % left diagonal
  20. pickup cal.nib;
  21. erase fill\\(0,bot y5)--(w,bot y5)--(w,top y5)--(0,top y5)--cycle;
  22. draw flex(z5,z6,z7) softjoin (z7--z7+cal.extension); % right diagonal
  23. draw rt z3--z6;  % bar
  24. math_fit(.5u#-.1cap_height#*slant,ic#); labels(1,2,3,4,5,6,7); endchar;
  25.  
  26. cmchar "Calligraphic B";
  27. beginchar("B",9.9u#,cap_height#,0);
  28. italcorr max(.8h#*slant-.1w#,.3h#*slant)+.5u#;
  29. adjust_fit(0,0); pickup cal.nib;
  30. lft x1=lft x3=0; x4=.6[x2,x5]; rt x5=.9w; x6=.4w; rt x7=w;
  31. x8=.4[x9,x7]; lft x9=rt x3;
  32. top y1=h+o; bot y3=-o; z2=.3[z3,z1]+bend;
  33. y4=y1; y5=.6[y6,y4]; y6=.55h; y7=.45[y8,y6]; bot y8=-o; y9=.1h;
  34. draw z1-cal.extension--flex(z1,z2,z3);  % stem
  35. draw z2{up}...z4...z5{down}...{dir 200}z6{dir 10}
  36.  ...z7{down}...z8{left}...z9;  % lobes
  37. math_fit(.5u#,.3h#*slant+.5u#); labels(1,2,3,4,5,6,7,8,9); endchar;
  38.  
  39. cmchar "Calligraphic C";
  40. beginchar("C",9.4u#,cap_height#,0);
  41. italcorr max(h#*slant-.15w#,.2h#*slant)+.5u#;
  42. adjust_fit(0,0); pickup cal.nib;
  43. x0=.7[x2,x1]; rt x1=.85w; x2=.6w; lft x3=0; x4=.5w; rt x5=w;
  44. y0=.7h; y1=.8[y0,y2]; top y2=h+o; y3=.5h; bot y4=-o; y5=.2h;
  45. draw\\(z0{2(x1-x0),y1-y0}...z1)
  46.   softjoin (z1...z2{left}....z3{down}...z4...z5);  % stroke
  47. math_fit(.5u#-.5h#*slant,.2h#*slant+.5u#); labels(0,1,2,3,4,5); endchar;
  48.  
  49. cmchar "Calligraphic D";
  50. beginchar("D",10u#,cap_height#,0);
  51. italcorr .6h#*slant+.5u#;
  52. adjust_fit(4u#,0); pickup cal.nib;
  53. lft x1=lft x3=0; x4=.2[x1,x5]; rt x5=w; x6=.2w; x7=0;
  54. top y1=top y4=h; bot y3=0; z2=.5[z3,z1]+bend;
  55. y5=.51[y6,y4]; bot y6=bot y7=0;
  56. draw flex(z1,z2,z3);  % stem
  57. draw z1---z4....z5{down}...z6---z7;  % lobe
  58. draw z1{left}...{down}z1-flourish_change;  % swash
  59. math_fit(.5u#-.8h#*slant,ic#-.5u#); labels(1,2,3,4,5,6,7); endchar;
  60.  
  61. cmchar "Calligraphic E";
  62. beginchar("E",8.5u#,cap_height#,0);
  63. italcorr max(h#*slant-.1w#,.2h#*slant)+.5u#;
  64. adjust_fit(0,0); pickup cal.nib;
  65. x1=.9[x3,x2]; rt x2=.9w; x3=.6[x4,x2]; lft x4=.05w;
  66. x5=.7[x6,x2]; lft x6=0; x7=.5[x6,x8]; rt x8=w;
  67. y1=y2-.1h; y2=.9h+o; top y3=h+o; y4=.5[y5,y3];
  68. y5=.55h; y6=.6[y5,y7]; bot y7=-o; y8=.2h;
  69. draw\\(z1{2(x2-x1),y2-y1}...z2)
  70.  softjoin (z2...z3{left}...z4{down}...{right}z5);  % upper arc
  71. draw z5{left}...z6{down}...z7{right}...z8;  % lower arc
  72. math_fit(.5u#-.2h#*slant,.2h#*slant+.5u#);
  73. labels(1,2,3,4,5,6,7,8); endchar;
  74.  
  75. cmchar "Calligraphic F";
  76. beginchar("F",13.5u#,cap_height#,0);
  77. italcorr h#*slant+.5u#;
  78. adjust_fit(-.1w#,-u#); pickup cal.nib;
  79. x1=.5w; x3=.4w;  lft x4=.1w; x5=x2+.35w; x6=.7[x1,x7]; rt x7=w;
  80. top y1=top y6=h; z2=.5[z3,z1]+bend;
  81. bot y3=-o; y4=.1h; y5=y2; y7=.9h;
  82. draw flex(z1,z2,z3) softjoin (z3...{x4-x3,5(y4-y3)}z4);  % stem
  83. draw z1-flourish_change{up}...z1---z6...{down}z7;  %  upper bar
  84. draw z2--z5--z5-(0,.1cap_curve);  % middle bar
  85. math_fit(0,.5ic#); labels(1,2,3,4,5,6,7); endchar;
  86.  
  87. cmchar "Calligraphic G";
  88. beginchar("G",9.4u#,cap_height#,.5desc_depth#);
  89. italcorr max(h#*slant-.05w#,.5h#*slant)+.5u#;
  90. adjust_fit(0,0); pickup cal.nib;
  91. x0=.7[x2,x1]; rt x1=.95w; x2=.6w; lft x3=0; x4=.5w;
  92. rt x5=w; x6=.5[x7,x5]; lft x7=.2w;
  93. y0=.7h+o; y1=.8[y0,y2]; top y2=h+o; y3=.5[y4,y2]; bot y4=.1h;
  94. y5=.5h; bot y6=-d-o; y7=-.5d;
  95. draw\\(z0{2(x1-x0),y1-y0}...z1)
  96.  softjoin (z1...z2{left}....z3{down}...z4...{up}z5);  % arc
  97. draw z5{down}...z6{left}...z7;  % tail
  98. math_fit(.5u#-.4h#*slant,.5h#*slant+.5u#);
  99. labels(0,1,2,3,4,5,6,7); endchar;
  100.  
  101. cmchar "Calligraphic H";
  102. beginchar("H",12.2u#,cap_height#,0);
  103. italcorr max(h#*slant-.2w#,.15h#*slant)+.5u#;
  104. adjust_fit(4u#,0); pickup cal.nib;
  105. lft x1=lft x3=0; rt x4=rt x6=.8w; rt x9=w;
  106. top y1=top y4=h; bot y3=-o; bot y6=bot_flourish_line; y9=y6+.1h;
  107. z2=.6[z3,z1]+bend; z5=.4[z6,z4]-2bend;
  108. path p[]; p1=flex(z1,z2,z3); p2=flex(z4,z5,z6);
  109. p3=(-w,.55h)--(2w,.55h);
  110. lft z7=p3 intersectionpoint p1; rt z8=p3 intersectionpoint p2;
  111. draw (z1-flourish_change{up}....z1-(u,0)---z1) softjoin p1;  % left stem
  112. draw p2 softjoin (z6{right}...{up}z9);  % right stem
  113. draw z7--z8;  % bar
  114. math_fit(.5u#-.8h#*slant,.15h#*slant+.5u#);
  115. labels(1,2,3,4,5,6,7,8,9); endchar;
  116.  
  117. cmchar "Calligraphic I";
  118. beginchar("I",10.8u#,cap_height#,0);
  119. italcorr max(h#*slant+.5cap_curve#-.2w#,.15h#*slant)+.5u#;
  120. adjust_fit(0,0); pickup cal.nib;
  121. lft x0=0; x1=.9w; x2=x4=.5w; x5=.2w; x6=.75w; rt x7=w;
  122. y0=.8h; top y1=top y2=h; z3=.5[z4,z2]+bend;
  123. bot y4=bot y5=bot y6=0; y7=.15h;
  124. draw z0{up}...z2---z1;  % upper bar
  125. z8=.5[z2,z1];
  126. draw z8{left}...z3{down}...{left}.5[z4,z5];  % stem
  127. draw z5---z6...{up}z7;  % lower bar
  128. math_fit(.5u#-.8h#*slant,.15h#*slant+.5u#);
  129. labels(0,1,2,3,4,5,6,7); endchar;
  130.  
  131. cmchar "Calligraphic J";
  132. beginchar("J",11.7u#,cap_height#,.5desc_depth#);
  133. italcorr h#*slant+.25u#;
  134. adjust_fit(0,0); pickup cal.nib;
  135. x0=.6w; rt x1=w; rt x2=.75w; x3=.5[x4,x2]; lft x4=0;
  136. top y0=top y1=h; y2=.2h; bot y3=-d-o; y4=d;
  137. draw z1---z0...{down}z0-(4u,2/7h);  % upper bar
  138. draw z1{left}...z2{down}...z3{left}...{up}z4;  % stem and tail
  139. math_fit(.5u#,0); labels(0,1,2,3,4); endchar;
  140.  
  141. cmchar "Calligraphic K";
  142. beginchar("K",11u#,cap_height#,0);
  143. italcorr max(h#*slant-.2w#,.2h#*slant)+.5u#;
  144. adjust_fit(0,.1w#); pickup cal.nib;
  145. lft x1=lft x3=0; top y1=h+o; bot y3=-o; z2=.6[z3,z1]+bend;
  146. draw z1-cal.extension--flex(z1,z2,z3);  % stem
  147. pickup light_cal.nib;
  148. rt x4=.9w; x5=x4-.1w; x7=.8w; rt x8=1.1w;
  149. y4=.9h; top y5=h+o; bot y7=-o; y8=.2h-o;
  150. (lft z6)t_=z2.t_+penoffset up of pen_[cal.nib];
  151. draw z4{up}...{left}z5..tension atleast 2..{down}z6
  152.  ..tension atleast 3 and atleast 2..z7{right}...{up}z8;  % diagonals
  153. math_fit(.5u#,.2h#*slant+.5u#); labels(1,2,3,4,5,6,7,8); endchar;
  154.  
  155. cmchar "Calligraphic L";
  156. beginchar("L",10.8u#,cap_height#,0);
  157. italcorr .2h#*slant+.5u#;
  158. adjust_fit(0,0); pickup heavy_cal.nib;
  159. x1=.2w; x2=x1+.3w; rt x3=x2+.25w; lft x4=0;
  160. x5=.8[x4,x6]; rt x6=w; x7=.2[x4,x5];
  161. y1=.4h-o; top y2=h+o; y3=.8h; bot y4=bot y5=-o;
  162. y6=.2h-o; y7=9/70h-o;
  163. path p; p=z4...z7{right}..{right}z5...{up}z6; draw p;  % arm
  164. draw z4{dir .75angle(direction 0 of p)}
  165.  ...z1{up}...z2{right}...{down}z3;  % stem and flourish
  166. math_fit(.5u#,ic#); labels(1,2,3,4,5,6,7); endchar;
  167.  
  168. cmchar "Calligraphic M";
  169. beginchar("M",19.8u#,cap_height#,0);
  170. italcorr max(h#*slant-u#,.75cap_curve#)+.5cap_curve#+.5u#;
  171. adjust_fit(-.1w#,0); pickup med_cal.nib;
  172. (z20)t_=(z5)t_+penoffset down of currentpen
  173.  =(z4)t_+penoffset down of pen_[tilted.nib];
  174. z6=.3[z7,z5]-bend; z9=.3[z8,z10]+.5bend; z12=.3[z13,z11]-bend;
  175. x7=.5[x2,x13]; bot y7=.05h; top y5=h+o;
  176. (z0)t_=(z7)t_+penoffset right of currentpen
  177.  =(z8)t_+penoffset right of pen_[tilted.nib];
  178. pickup cal.nib;
  179. (z30)t_=(z11)t_+penoffset up of currentpen
  180.  =(z10)t_+penoffset up of pen_[tilted.nib];
  181. x13=w; bot y13=bot_flourish_line;
  182. pickup tilted.nib;
  183. lft x1=.1w; x2=.2w; x4=.2[x2,x7]; x10=.8[x7,x13];
  184. y1=.05h+y2; bot y2=bot_flourish_line; top y10=h+o;
  185. z3=whatever[z2,z4]+2bend; y3=y6;
  186. draw\\(z1..tension1.2..{right}z2) softjoin flex(z2,z3,z4);  % left stem
  187. erase fill z20--(.5w,y20)--(.5w,top y4)--(x20-4u,top y4)--cycle;
  188. pickup med_cal.nib;
  189. draw flex(z5,z6,z7);  % left diagonal
  190. pickup cal.nib;
  191. draw flex(z11,z12,z13) softjoin (z13--z13+cal.extension);  % right stem
  192. pickup tilted.nib;
  193. path p; p=flex(z8,z9,z10);
  194. erase fill z0--(x0,y0-.5h)--(x9,y0-.5h)--subpath(1,0) of p--cycle;
  195. erase fill z30--(x30,y30+.5h)--(x9,y30+.5h)--subpath(1,2) of p--cycle;
  196. draw p;  % right diagonal
  197. math_fit(.5u#-.05h#*slant,ic#);
  198. labels(0,1,2,3,4,5,6,7,8,9,10,11,12,13,20,30); endchar;
  199.  
  200. cmchar "Calligraphic N";
  201. beginchar("N",9u#,cap_height#,0);
  202. italcorr h#*slant+.5u#;
  203. adjust_fit(2u#,2.5u#); pickup med_cal.nib;
  204. (z0)t_=(z5)t_+penoffset down of currentpen
  205.  =(z4)t_+penoffset down of pen_[tilted.nib];
  206. (z20)t_=(z7)t_+penoffset up of currentpen
  207.  =(z8)t_+penoffset up of pen_[tilted.nib];
  208. z6=.3[z7,z5]-bend; rt z7=(w,0); top y5=h+o;
  209. pickup tilted.nib;
  210. lft x1=x2-2u; x2=-u; x4=0; x10=w; rt x11=w+3u;
  211. y1=y2+.05h; bot y2=bot_flourish_line;
  212. y3=y6; z3=whatever[z2,z4]+2bend;
  213. y10=h; z9=.7[z8,z10]-.5bend; bot y11=h;
  214. draw\\(z1..tension1.2..{right}z2) softjoin flex(z2,z3,z4);  % left stem
  215. draw flex(z8,z9,z10)...{right}z11;  % right stem
  216. pickup med_cal.nib;
  217. erase fill  z0--(.5w,y0)--(.5w,1.5h)--(x0-4u,1.5h)--cycle;
  218. erase fill  z20--(.5w,y20)--(.5w,-.5h)--(x20+4u,-.5h)--cycle;
  219. draw flex(z5,z6,z7);  % diagonal
  220. math_fit(.5u#-.05h#*slant,.3h#*slant);
  221. labels(0,1,2,3,4,5,6,7,8,9,10,11,20); endchar;
  222.  
  223. cmchar "Calligraphic O";
  224. beginchar("O",12.6u#,cap_height#,0);
  225. italcorr .7h#*slant+.5u#;
  226. adjust_fit(0,0); pickup cal.nib;
  227. x1=.3w; lft x2=0; x3=.5w; rt x4=w; x5=.6w; lft x6=.27w;
  228. top y1=top y5=h+o; y2=.55h; bot y3=-o; y4=.5h; y6=y2;
  229. path p; p=z1...z2{down}...z3{right}...z4{up}...z5{left}...{down}z6;
  230. draw subpath(0,4.8) of p;  % bowl
  231. math_fit(.5u#-.3h#*slant,ic#-.5u#);
  232. labels(1,2,3,4,5,6); endchar;
  233.  
  234. cmchar "Calligraphic P";
  235. beginchar("P",9u#,cap_height#,0);
  236. italcorr .8h#*slant+.5u#;
  237. adjust_fit(4u#,0); pickup cal.nib;
  238. lft x1=lft x3=0; x4=x6=.3[x1,x5]; rt x5=w;
  239. top y1=top y4=h; y3=-o; y5=.55[y6,y4]; bot y6=.3h;
  240. z2=.5[z3,z1]+bend;
  241. draw flex(z1,z2,z3);  % stem
  242. draw z1{left}...{down}z1-flourish_change;  % swash
  243. draw z1---z4...z5{down}...{left}z6;  % lobe
  244. math_fit(.5u#-.8h#*slant,.5ic#); labels(1,2,3,4,5,6); endchar;
  245.  
  246. cmchar "Calligraphic Q";
  247. beginchar("Q",11.7u#,cap_height#,.5desc_depth#);
  248. italcorr max(0,.6h#*slant-2u#)+.5u#;
  249. adjust_fit(0,2u#); pickup cal.nib;
  250. x0=.6w; x1=.4w; lft x2=0; x3=.5w; rt x4=w; x5=.6w; lft x6=0;
  251. x7=.23w; rt x8=w; x9=x8+2u;
  252. y0=.25h; bot y1=.15h; y2=.45[y1,y3]; top y3=h+o; y4=.5h; bot y5=0;
  253. y6=y7=y9=0; y8=-d;
  254. draw z0...z1{left}...z2{up}...z3{right}
  255.  ...z4{down}...z5...{left}z7; % bowl
  256. draw z7{right}...z8{right}...{up}z9;  % tail
  257. math_fit(.5u#,ic#); labels(0,1,2,3,4,5,6,7,8,9); endchar;
  258.  
  259. cmchar "Calligraphic R";
  260. beginchar("R",12.6u#,cap_height#,0);
  261. italcorr .2h#*slant;
  262. adjust_fit(4u#,0); pickup cal.nib;
  263. lft x1=lft x3=0; x4=1/4[x1,x5]; rt x5=.7w;
  264. x6=.4[x1,x5]; rt x7=.8w; rt x8=w;
  265. top y1=top y4=h; bot y3=bot y7=-o; y5=.55[y6,y4]; bot y6=.4h; y8=.15h;
  266. z2=.5[z3,z1]+bend;
  267. draw flex(z1,z2,z3);  % stem
  268. draw z1{left}...{down}z1-flourish_change;  % swash
  269. draw z1---z4....z5{down}...{left}z6;  % lobe
  270. draw z6{right}..tension atleast 1.5..z7{right}..z8;  % tail
  271. math_fit(.5u#-.8h#*slant,ic#); labels(1,2,3,4,5,6,7,8); endchar;
  272.  
  273. cmchar "Calligraphic S";
  274. beginchar("S",9.9u#,cap_height#,0);
  275. italcorr max(.9h#*slant-.05w#,.3h#*slant)+.5u#;
  276. adjust_fit(0,0); pickup cal.nib;
  277. rt x0=rt x1=.95w; x2=.5[x3,x1]; lft x3=.15w; x4=.5[x6,x2];
  278. rt x5=w; x6=.5w; lft x7=0; lft x8=.075w;
  279. y0=.8h; y1=.9h; top y2=h+o; y3=.55[y4,y2]; y4=.55[y6,y2];
  280. y5=.45[y6,y4]; bot y6=-o; y7=.2h; y8=.35h;
  281. draw\\(z0--z1) softjoin (z1...z2{left}...z3{down}...z4...z5{down}
  282.   ...z6{left}...z7) softjoin (z7{up}...{right}z8);  % stroke
  283. math_fit(.5u#-.3h#*slant,.3h#*slant+.5u#);
  284. labels(0,1,2,3,4,5,6,7,8); endchar;
  285.  
  286. cmchar "Calligraphic T";
  287. beginchar("T",13u#,cap_height#,0);
  288. italcorr h#*slant+.5u#;
  289. adjust_fit(0,-.5u#); pickup heavy_cal.nib;
  290. x1=x3=.5w; lft x4=0; x5=w-x6=.25w; rt x7=w;
  291. top y1=h; bot y3=0; y4=5/7h; top y5=top y6=h; top y7=1.05h;
  292. z2=.5[z3,z1]+bend;
  293. x1-x8=x9-x1=2u; y8=y9=y3;
  294. z0=1/3[z1,z6];
  295. draw z0{left}...z2{down}...{left}z8;  % stem
  296. draw z8--z9;  % foot
  297. draw z4{up}...z5{right}...z6{right}...{up}z7;  % arms
  298. math_fit(.5u#-5/7h#*slant,-u#); labels(1,2,3,4,5,6,7,8,9); endchar;
  299.  
  300. cmchar "Calligraphic U";
  301. beginchar("U",11u#,cap_height#,0);
  302. italcorr h#*slant+.5u#;
  303. adjust_fit(0,0); pickup cal.nib;
  304. x1=x2-.15w; lft x2=.05w; x3=x2; x4=.25[x3,x6]; rt x6=rt x8=w;
  305. y1=y2-.05h; top y2=h; y3=.3w; bot y4=-o;
  306. top y6=h; bot y8=bot_flourish_line;
  307. z7=.3[z8,z6]-bend;
  308. draw z1...z2{right}..tension 2 and 1..z3{down}
  309.  ...{right}z4..tension atleast 1.5..{up}z6;  % left stem and arc
  310. draw flex(z6,z7,z8) softjoin (z8--z8+cal.extension);  % right stem
  311. math_fit(.5u#-min(.3h#*slant+.1w#,.95h#*slant),.5ic#);
  312. labels(1,2,3,4,6,7,8); endchar;
  313.  
  314. cmchar "Calligraphic V";
  315. beginchar("V",11.25u#,cap_height#,0);
  316. italcorr .8h#*slant+.5u#;
  317. adjust_fit(0,0); pickup med_cal.nib;
  318. x1=0; top y1=h; z3=(.48w,0);
  319. z0.t_=z2.t_+penoffset down of currentpen
  320.  =z3.t_+penoffset down of pen_[tilted.nib];
  321. draw z1{right}..tension atleast 1 and infinity..z2;  % left diagonal
  322. pickup tilted.nib; rt x4=w; x5=x4-.2w; top y4=.8h; top y5=h;
  323. path p; p=z3..tension atleast 3 and 1..{up}z4;
  324. erase fill z0--(x0,y0-.5h)--(x4,y0-.5h)--(x4+eps,y4)--reverse p--cycle;
  325. draw p...{left}z5;  % right diagonal
  326. math_fit(.5u#+.5cap_curve#-h#*slant,.5ic#); labels(0,1,2,3,4,5); endchar;
  327.  
  328. cmchar "Calligraphic W";
  329. beginchar("W",18u#,cap_height#,0);
  330. italcorr .8h#*slant+.5u#;
  331. adjust_fit(0,0); pickup med_cal.nib;
  332. x1=0; x3=.5[x1,x6]; x6=.52w; x9=.58[x6,x10]; y3=y9=0; top y1=top y6=h;
  333. z7=.5[z8,z6]+bend; z4=.5[z3,z5]+bend;
  334. (z0)t_=(z2)t_+penoffset down of currentpen
  335.  =(z3)t_+penoffset down of pen_[tilted.nib];
  336. (z20)t_=(z8)t_+penoffset down of currentpen
  337.  =(z9)t_+penoffset down of pen_[tilted.nib];
  338. draw z1{right}..tension atleast 1 and infinity..z2;  % first diagonal
  339. pickup tilted.nib;
  340. x5=x6; rt x10=w; x11=x10-.1w; top y5=h; top y10=.8h; top y11=h;
  341. erase fill z0--(x0,y0-.5h)--(x5,y0-.5h)--z5..z4..z3--cycle;
  342. draw z3..z4..z5;  % second diagonal
  343. pickup med_cal.nib;
  344. erase fill\\(.3w,bot y6)--(w,bot y6)--(w,top y6)--(.3w,top y6)--cycle;
  345. draw z6..z7..z8;  % third diagonal
  346. pickup tilted.nib; path p; p=z9..tension atleast 3 and 1..{up}z10;
  347. erase fill z20--(x20,y20-.5h)--(x10,y20-.5h)--(x10+eps,y10)
  348.  --reverse p--cycle;
  349. draw p..{left}z11;  % fourth diagonal
  350. math_fit(.5u#+.5cap_curve#-h#*slant,.5ic#);
  351. labels(0,1,2,3,4,5,6,7,8,9,10,11,20); endchar;
  352.  
  353. cmchar "Calligraphic X";
  354. beginchar("X",11.4u#,cap_height#,0);
  355. italcorr h#*slant+.5u#;
  356. adjust_fit(0,0); pickup cal.nib;
  357. lft x1=.08w; lft x2=.2w; x4-x3=x2-x1; rt x4=w;
  358. h-y1=y4=1/9h; top y2=h; bot y3=0;
  359. draw z1{up}....z2{right}
  360.  ... .2[z2+(.1w,0),z3-(.1w,0)]---.8[z2+(.1w,0),z3-(.1w,0)]
  361.  ...{right}z3....{up}z4;  % left diagonal
  362. x5=x6-u; rt x6=w; lft x7=0; x8=x7+u;
  363. top y5=h; y6=.85h; y7=h-y6; bot y8=0;
  364. draw z5{right}...z6{down}
  365.  ..tension atleast 3..{down}z7...{right}z8;  % right diagonal
  366. math_fit(.5u#,1/7h#*slant+.5u#); labels(1,2,3,4,5,6,7,8); endchar;
  367.  
  368. cmchar "Calligraphic Y";
  369. beginchar("Y",11.75u#,cap_height#,.5desc_depth#);
  370. italcorr .8h#*slant+.5u#;
  371. adjust_fit(0,0); pickup med_tilted.nib;
  372. rt x5=w; x6=x5-2.2u; top y5=.8h; top y6=h;
  373. x4=.4w; lft x3=.15w; y3=good.y 0; y4=good.y -d;
  374. path p; p=z3..z4{right}..tension atleast 3 and 1..z5{up}...{left}z6;
  375. pickup med_cal.nib; x1=x2-u; y1=y2-.05h; lft x2=.6u; top y2=h;
  376. draw z1...z2{right}..tension atleast 1 and infinity
  377.  ..rt point 4/3 of p;  % left diagonal
  378. erase fill subpath(2,1) of p--(x5,y4)--(x5+eps,y5)--cycle;
  379. pickup med_tilted.nib; draw p;  % right diagonal
  380. math_fit(max(-1.2u#,.9u#-.95h#*slant),.5ic#); labels(1,2,3,4,5,6); endchar;
  381.  
  382. cmchar "Calligraphic Z";
  383. beginchar("Z",10.4u#,cap_height#,0);
  384. italcorr h#*slant+.5u#;
  385. adjust_fit(0,0); pickup heavy_cal.nib;
  386. lft x1=.05w; x2=.4w; rt x3=w; lft x7=0; x8=.8[x7,x9]; rt x9=1.1w;
  387. top y1=58/70h; top y2=top y3=h; bot y7=bot y8=0; bot y9=15/70h;
  388. z5=.55[z7,z3]+bend;
  389. x10=x5-2.5u; x11=x5+2u; x12=.2[x3,x2]; x13=.2[x7,x8];
  390. y10=y5; bot y11=y10-6/70h; y12=64/70h; y13=6/70h;
  391. draw z1{up}...z2{right}...{right}z12...z3;  % upper arm
  392. draw flex(z3,z5,z7);  % diagonal
  393. draw z7...z13{right}...{right}z8...{up}z9;  % lower arm
  394. pickup light_cal.nib;
  395. draw z10...z5{right}...{down}z11;  % bar
  396. math_fit(.5u#,.6ic#); labels(1,2,3,5,7,8,9,10,11,12,13); endchar;
  397.